package cn.edu.zjut.mina.bean;

import java.util.Date;
import java.util.List;

import cn.edu.zjut.mina.interf.IGame;
import cn.edu.zjut.mina.interf.IRoomInfo;
import cn.edu.zjut.mina.po.TotalGameResult;

/**
 * 房间信息
 * @author 张宇翔
 */
public class RoomInfo implements IRoomInfo{
	private String roomId;//房间号
	private Date beginTime;//开始时间    开始时间是游戏开始的时间还是开房时间
	private Date endTime;//结束时间
	private int number_of_games;//游戏局数  (最多可玩局数)
	private int actual_number_of_games;//实际游戏局数
	private int criticalOfTwoTimes;//2倍的临界值(也就是包不包含7)
	private int participation;//参与人数
	private int actualParticipation;//当前人数
	private int actualPrepare;//当前准备人数
	private int actualQuit;//当前退出人数
	private int actualJoinQuit;//当前参与点击退出或者不退出的人数
	private int lzxs;//轮庄形式        1    固定庄       0     破牛庄
	private int ratio;//起点倍率   1,2,3
	private String createRoomPlayerId;//开房玩家的Id
	private int bankerNumber = 0;//庄家编号(从0开始)
	private int showCardsNum = 0;//亮牌人数
	private TotalGameResult totalGameResult;//该房间本次游戏的统计结果
	private List<UserSession> userSessions;
	private int deductRoomCard;//需要扣除的房卡数
	private boolean isActualGameStart;//当前游戏是否开始
	private int gameType;
	
	public void setActualGameStart(boolean isActualGameStart){
		this.isActualGameStart=isActualGameStart;
	}
	public Boolean isActualGameStart(){
		return isActualGameStart;
	}
	public String getRoomId() {
		return roomId;
	}
	public void setRoomId(String roomId) {
		this.roomId = roomId;
	}
	public Date getBeginTime() {
		return beginTime;
	}
	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}
	public Date getEndTime() {
		return endTime;
	}
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	public Integer getNumber_of_games() {
		return number_of_games;
	}
	public void setNumber_of_games(int number_of_games) {
		this.number_of_games = number_of_games;
	}
	public Integer getParticipation() {
		return participation;
	}
	public void setParticipation(int participation) {
		this.participation = participation;
	}
	public Integer getActualPrepare() {
		return actualPrepare;
	}
	public void setActualPrepare(int actualPrepare) {
		this.actualPrepare = actualPrepare;
	}
	public Integer getActual_number_of_games() {
		return actual_number_of_games;
	}
	public void setActual_number_of_games(int actual_number_of_games) {
		this.actual_number_of_games = actual_number_of_games;
	}
	public Integer getCriticalOfTwoTimes() {
		return criticalOfTwoTimes;
	}
	public void setCriticalOfTwoTimes(int criticalOfTwoTimes) {
		this.criticalOfTwoTimes = criticalOfTwoTimes;
	}
	public Integer getActualParticipation() {
		return actualParticipation;
	}
	public void setActualParticipation(int actualParticipation) {
		this.actualParticipation = actualParticipation;
	}
	public Integer getLzxs() {
		return lzxs;
	}
	public void setLzxs(int lzxs) {
		this.lzxs = lzxs;
	}
	public Integer getRatio() {
		return ratio;
	}
	public void setRatio(int ratio) {
		this.ratio = ratio;
	}
	public String getCreateRoomPlayerId() {
		return createRoomPlayerId;
	}
	public void setCreateRoomPlayerId(String createRoomPlayerId) {
		this.createRoomPlayerId = createRoomPlayerId;
	}
	public List<UserSession> getUserSessions() {
		return userSessions;
	}
	public void setUserSessions(List<UserSession> userSessions) {
		this.userSessions = userSessions;
	}
	public Integer getBankerNumber() {
		return bankerNumber;
	}
	public void setBankerNumber(int bankerNumber) {
		this.bankerNumber = bankerNumber;
	}
	public TotalGameResult getTotalGameResult() {
		return totalGameResult;
	}
	public void setTotalGameResult(TotalGameResult totalGameResult) {
		this.totalGameResult = totalGameResult;
	}
	public Integer getShowCardsNum() {
		return showCardsNum;
	}
	public void setShowCardsNum(int showCardsNum) {
		this.showCardsNum = showCardsNum;
	}
	
	public void clear() {
		this.beginTime = null;
		this.endTime = null;
		this.totalGameResult = null;
		this.userSessions = null;
	}
	public Integer getActualQuit() {
		return actualQuit;
	}
	public void setActualQuit(int actualQuit) {
		this.actualQuit = actualQuit;
	}
	public Integer getActualJoinQuit() {
		return actualJoinQuit;
	}
	public void setActualJoinQuit(int actualJoinQuit) {
		this.actualJoinQuit = actualJoinQuit;
	}
	public Integer getDeductRoomCard() {
		return deductRoomCard;
	}
	public void setDeductRoomCard(int deductRoomCard) {
		this.deductRoomCard = deductRoomCard;
	}
	public IGame getGame() {
		// TODO Auto-generated method stub
		return null;
	}
	public void setGameType(int gt){
		gameType=gt;
	}

	public Integer getGameType() {
		// TODO Auto-generated method stub
		return gameType;
	}
}
